define([],function(){
	//日期插件
	var datePlugin = {
		initialize: function() {
			datePlugin.onShow();
			datePlugin.bindEvent();
		},
		onShow: function() {

			datePlugin.YYYYMMDDstart();

		},
		bindEvent: function() {
			$("#YYYY").on('change', function() {
				datePlugin.YYYYDD(this.value);
			});
			$('#MM').on('change', function() {
				datePlugin.MMDD(this.value);
			});
		},
		YYYYMMDDstart: function() {
			MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

			//先给年下拉框赋内容   
			var y = new Date().getFullYear();
			for(var i = (y - 30); i < (y + 30); i++) //以今年为准，前30年，后30年   
				document.reg_testdate.YYYY.options.add(new Option(" " + i + " 年", i));

			//赋月份的下拉框   
			for(var i = 1; i < 13; i++)
				document.reg_testdate.MM.options.add(new Option(" " + i + " 月", i));

			document.reg_testdate.YYYY.value = y;
			document.reg_testdate.MM.value = new Date().getMonth() + 1;
			var n = MonHead[new Date().getMonth()];
			if(new Date().getMonth() == 1 && datePlugin.IsPinYear(YYYYvalue)) n++;
			datePlugin.writeDay(n); //赋日期下拉框Author:meizz   
			document.reg_testdate.DD.value = new Date().getDate();
		},
		YYYYDD: function(str) {
			var MMvalue = document.reg_testdate.MM.options[document.reg_testdate.MM.selectedIndex].value;
			if(MMvalue == "") {
				var e = document.reg_testdate.DD;
				datePlugin.optionsClear(e);
				return;
			}
			var n = MonHead[MMvalue - 1];
			if(MMvalue == 2 && datePlugin.IsPinYear(str)) n++;
			datePlugin.writeDay(n)
		},
		MMDD: function(str) {
			var YYYYvalue = document.reg_testdate.YYYY.options[document.reg_testdate.YYYY.selectedIndex].value;
			if(YYYYvalue == "") {
				var e = document.reg_testdate.DD;
				datePlugin.optionsClear(e);
				return;
			}
			var n = MonHead[str - 1];
			if(str == 2 && datePlugin.IsPinYear(YYYYvalue)) n++;
			datePlugin.writeDay(n)
		},
		writeDay: function(n) {
			var e = document.reg_testdate.DD;
			datePlugin.optionsClear(e);
			for(var i = 1; i < (n + 1); i++)
				e.options.add(new Option(" " + i + " 日", i));
		},
		IsPinYear: function(year) {
			return(0 == year % 4 && (year % 100 != 0 || year % 400 == 0));
		},
		optionsClear: function(e) {
			e.options.length = 1;
		}
	}
	return datePlugin;
})